home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-09 | 31.2 KB | 395 lines | [TEXT/MPS ] |
- FTCMS TITLE 'PARAMETER PARSING AND FILE SYSTEM INTERFACE FOR FT3270.' 00010000
- ********************************************************************* 00020000
- * * 00030000
- * THIS MODULE IS CALLED BY FT3270 TO PROCESS THE COMMAND LINE * 00040000
- * ARGUMENTS. THE ADDRESS OF A DSECT IS PASSED IN R11. * 00050000
- * THE HIGH ORDER BYTE OF R1 IS EXAMINED TO DETERMINE WHETHER * 00060000
- * NOT TO USE THE EXTENDED PLIST POINTER IN R0. * 00070000
- * THIS MODULE IS ALSO CALLED TO PERFORM FSREADS, FSWRITES, * 00080000
- * AND FSCLOSE. INFORMATION IS PASSED IN THE REGISTERS. SEE FTFS. * 00090000
- * * 00100000
- * 1ST ARG IS LOCAL FILESPEC AND MAY BE MULTIPLE TOKENS IF IT * 00110000
- * IS ENCLOSED IN DOUBLE QUOTES. * 00120000
- * 2ND ARG IS CONTROL BYTE (SEE INIT2). * 00130000
- * 3RD, 4TH, & 5TH ARGS ARE CMS FILENAME, FILETYPE, & FILEMODE. * 00140000
- * * 00150000
- * * 00160000
- * FTERR IS CALLED TO PRINT ANY ERROR MESSAGE. * 00170000
- * * 00180000
- * PETER HOYT CORNELL COMPUTER SERVICES * 00190000
- * VERSION 2.0 AUGUST 30, 1987 * 00200000
- * * 00210000
- * SOURCE FILE SEQUENCED FOR FUTURE MAINTANENCE. LARRY CHACE * 00220000
- * * 00230000
- ********************************************************************* 00240000
- * 00250000
- FTCMS CSECT 00260000
- EXTRN FTERR 00270000
- ENTRY FTFS 00280000
- USING FTCMS,R12 00290000
- USING FTCOMMON,R11 00300000
- * 00310000
- STM R14,R12,12(R13) SAVE THE CALLER'S THINGS. 00320000
- LR R12,R15 GET OUR BASE ADDRESS. 00330000
- ST R13,SAVEAREA+4 SAVE HIS SAVE AREA AND 00340000
- LA R13,SAVEAREA GET OURS. 00350000
- * 00360000
- BAL R14,INIT1 PROCESS 1ST ARG (DOS FILESPEC) 00370000
- BAL R14,INIT2 PROCESS 2ND ARG (CONTROL BYTE) 00380000
- BAL R14,INIT3 PROCESS CMS FILEID & MISC DUTIES. 00390000
- * 00400000
- DONE L R13,4(,R13) RESTORE EVERYTHING 00410000
- LM R14,R12,12(R13) FROM THE CALLER 00420000
- SR R15,R15 AND RETURN WITH 00430000
- BR R14 A NICE CODE. 00440000
- * 00450000
- **** PUT OUT ERROR MESSAGE & RETURN WITH A NON-ZERO RETURN CODE 00460000
- * 00470000
- ADONE L R3,RETCODE PASS ERROR CODES IN R2 & R3 00480000
- LR R2,R15 00490000
- L R15,=A(FTERR) 00500000
- BALR R14,R15 UPDATED RC RETURNED IN R15 00510000
- L R13,4(,R13) RESTORE EVERYTHING 00520000
- L R14,12(R13) FROM THE CALLER 00530000
- LM R0,R12,20(R13) EXCEPT R15! 00540000
- BR R14 00550000
- EJECT 00560000
- *---------------------------------------------------------------------* 00570000
- * ERROR HANDLER * 00580000
- *---------------------------------------------------------------------* 00590000
- PERR0 DS 0H END OF PLIST ENCOUNTERED 00600000
- MVI RETCODE+3,40 00610000
- B ADONE 00620000
- PERR1 MVI RETCODE+3,41 D OR U 00630000
- B ADONE 00640000
- PERR2 MVI RETCODE+3,42 B OR T 00650000
- B ADONE 00660000
- PERR3 MVI RETCODE+3,43 R OR N 00670000
- B ADONE 00680000
- PERR4 MVI RETCODE+3,44 LRECL 00690000
- B ADONE 00700000
- PERR5 MVI RETCODE+3,45 Q DISK FAILURE 00710000
- B ADONE 00720000
- PERR6 MVI RETCODE+3,46 ALREADY EXISTS 00730000
- B ADONE 00740000
- PERR7 MVI RETCODE+3,47 LRECL > 64K 00750000
- B ADONE 00760000
- PERR8 MVI RETCODE+3,48 LOCAL FILESPEC 00770000
- B ADONE 00780000
- NOMEM MVI RETCODE+3,50 DMSFREE FAILURE 00790000
- B ADONE 00800000
- FSSERR MVI RETCODE+3,52 FSSTATE FAILURE 00810000
- B ADONE 00820000
- EJECT 00830000
- *---------------------------------------------------------------------* 00840000
- * PROCESS LOCAL FILESPEC WHICH IS PASSED AS FIRST AGRUMENT. * 00850000
- * & MOVE IT INTO THE NEGOTIATION BUFFER. * 00860000
- * CHECK FOR EXTENDED PLIST & LEADING DOUBLE QUOTE. * 00870000
- *---------------------------------------------------------------------* 00880000
- INIT1 DS 0H 00890000
- ST R14,XINIR14 SAVE OUR RETURN POINTER. 00900000
- CLC =X'FFFFFFFF',8(R1) CAN'T BE END OF PLIST YET! 00910000
- BZ PERR0 00920000
- LA R6,NEGO+7 WHERE WE WANT TO MOVE THE FILESPEC. 00930000
- SR R7,R7 OFFSET INTO TARGET BUFFER 00940000
- * 00950000
- LR R3,R1 MAKE SURE EXTENDED PLIST IS USED 00960000
- SRL R3,24 BY CHECKING HIGH ORDER BYTE. 00970000
- LTR R3,R3 ZERO IS WIERD 00980000
- BZ I21 00990000
- C R3,=F'11' 1, 2, 5, 6, & 11 OK 01000000
- BC 2,I21 01010000
- LR R8,R0 POINTER TO UNFORMATED PARM AREA. 01020000
- L R8,4(R8) POINTER TO START OF PLIST. 01030000
- LA R9,80 MAXIMUM LENGTH 01040000
- B I22 01050000
- I21 LA R8,8(R1) USE FORMATTED PLIST FOR DOS FILESPEC 01060000
- LA R9,8 MAXIMUM LENGTH 01070000
- * 01080000
- I22 IC R3,0(R7,R8) LOAD THE FIRST BYTE FROM PLIST. 01090000
- CLM R3,1,=X'7F' SPECIAL CASE FOR DOUBLE QUOTE 01100000
- BNE I33 01110000
- BAL R14,INIT1A 01120000
- B I34 01130000
- * 01140000
- I33 IC R3,0(R7,R8) LOAD THE NEXT BYTE FROM PLIST. 01150000
- CLM R3,1,=X'40' IF IT'S A BLANK WE'RE DONE. 01160000
- BZ I34 01170000
- STC R3,0(R7,R6) NOW STORE THE CHARACTER IN FILESPEC. 01180000
- LA R7,1(,R7) INCREMENT INDEX REGISTER AND 01190000
- CR R7,R9 CHECK FOR LENGTH 01200000
- BNZ I33 GET THE NEXT CHARACTER FROM PLIST. 01210000
- * 01220000
- I34 LTR R7,R7 MAKE SURE FILESPEC NOT ZERO LENGTH 01230000
- BZ PERR8 01240000
- C R7,=F'80' MAKE SURE FILESPEC FITS IN BUFFER. 01250000
- BC 2,PERR8 01260000
- SR R3,R3 STORE A NULL AT END OF FILESPEC. 01270000
- STC R3,0(R7,R6) 01280000
- LA R7,1(,R7) INC. DUE TO NULLS AT END OF STRING. 01290000
- ST R7,FSPECLEN STORE LENGTH OF FILESPEC. 01300000
- L R14,XINIR14 RESTORE AND 01310000
- BR R14 RETURN. 01320000
- XINIR14 DS F INIT R14 SAVE AREA. 01330000
- EJECT 01340000
- *---------------------------------------------------------------------* 01350000
- * PROCESS LOCAL FILESPEC WHICH IS PASSED AS FIRST AGRUMENT * 01360000
- * WHEN IT HAS BEEN PRECEEDED BY DOUBLE QUOTES. * 01370000
- * IN THAT CASE MULTIPLE TOKENS ARE PERMITTED AND MORE THAN * 01380000
- * ONE CONSECUTIVE BLANK MAY OCCUR IN THE FILESPEC. * 01390000
- *---------------------------------------------------------------------* 01400000
- INIT1A DS 0H 01410000
- ST R14,XINAR14 SAVE OUR RETURN POINTER. 01420000
- LA R8,1(,R8) SKIP THE DOUBLE QUOTE 01430000
- LA R5,X'40' LOAD A BLANK CHARACTER TO START 01440000
- * 01450000
- I41 IC R3,0(R7,R8) LOAD THE NEXT BYTE FROM PLIST. 01460000
- CLM R3,1,=X'7F' IF IT'S A DOUBLE QUOTE WE'RE DONE. 01470000
- BE I43 01480000
- CLM R3,1,=X'40' CHECK FOR BLANK 01490000
- BNE I42 IF NOT CONTINUE 01500000
- CLM R5,1,=X'40' IF SO CHECK PREVIOUS CHARACTER. 01510000
- BE I42 IF IT'S ALSO BLANK THEN CONTINUE 01520000
- LA R1,8(,R1) OTHERWISE INC. FORMATTED PLIST 01530000
- * 01540000
- I42 STC R3,0(R7,R6) NOW STORE THE CHARACTER IN FILESPEC. 01550000
- LR R5,R3 SAVE PREVIOUS CHARACTER IN R5 01560000
- LA R7,1(,R7) INCREMENT INDEX REGISTER AND 01570000
- CR R7,R9 CHECK FOR LENGTH 01580000
- BNZ I41 GET THE NEXT CHARACTER FROM PLIST. 01590000
- * 01600000
- I43 L R14,XINAR14 RESTORE AND 01610000
- BR R14 RETURN. 01620000
- XINAR14 DS F INIT R14 SAVE AREA. 01630000
- EJECT 01640000
- *---------------------------------------------------------------------* 01650000
- * PROCESS CONTROL PARAMETER WHICH IS PASSED AS 2ND AGRUMENT. * 01660000
- * FORMAT OF CONTROL PARM: (LEFT TO RIGHT) * 01670000
- * BYTE 0: "D" (DOWNLOAD) OR "U" (UPLOAD) * 01680000
- * BYTE 1: "T" (TEXT) OR "B" (BINARY) - CONVERSION SWITCH. * 01690000
- * "D" (DEFAULT) LETS THE PC DETERMINE CONVERSION. * 01700000
- * BYTE 2: "R" (REPLACE) OR "N" - REPLACE EXISTING FILE. * 01710000
- * BYTES 3 THRU 7: VALID ONLY FOR UPLOAD; IF NON BLANK * 01720000
- * INDICATE RECFM=F AND LRECL=NUMBER SPECIFIED LEFT JUSTIFIED. * 01730000
- *---------------------------------------------------------------------* 01740000
- INIT2 DS 0H 01750000
- ST R14,XINIR14 SAVE OUR RETURN POINTER. 01760000
- CLC =X'FFFFFFFF',16(R1) CAN'T BE END OF PLIST YET! 01770000
- BZ PERR0 01780000
- CLI 16(R1),C'D' 01790000
- BE I51 GOOD GUESS SO CONTINUE. 01800000
- CLI 16(R1),C'U' 01810000
- BNE PERR1 MUST BE ONE OR THE OTHER. 01820000
- I51 MVC UPDOWN(1),16(R1) SAVE INDICATION OF WHICH DIRECTION 01830000
- * 01840000
- LA R3,0 LOW BYTE WILL BE PASSED TO TN3270. 01850000
- MVC BINTEXT,17(R1) SAVE WHETHER TO DO CONVERSION. 01860000
- CLI 17(R1),C'B' BINARY OR TEXT FILE? 01870000
- BZ I52 NO CHANGE TO LOW BYTE 01880000
- CLI 17(R1),C'T' 01890000
- BNE I54 GO TEST FOR DEFAULT. 01900000
- O R3,=X'00000002' TURN ON BIT INDICATING CONVERSION. 01910000
- B I52 CONTINUE... 01920000
- I54 CLI 17(R1),C'D' FINAL TEST OF THIS BYTE. 01930000
- BNE PERR2 FAILURE HERE IS AN ERROR. 01940000
- O R3,=X'00000004' TURN ON BIT INDICATING DEFAULT. 01950000
- * 01960000
- I52 MVC REPLACE,18(R1) SAVE WHETHER TO REPLACE FILE. 01970000
- CLI 18(R1),C'N' WILL NOT REPLACE FILE. 01980000
- BZ I53 01990000
- CLI 18(R1),C'R' 02000000
- BNE PERR3 MUST BE ONE OR THE OTHER. 02010000
- O R3,=X'00000001' TURN ON BIT INDICATING REPLACEMENT. 02020000
- I53 STC R3,NEGO+6 BITS TO PASS TO TN3270. 02030000
- * 02040000
- CLI 16(R1),C'D' WE ARE NOT INTERESTED IN LRECL 02050000
- BZ I59 ON DOWNLOADS. 02060000
- BAL R14,GETLRECL 02070000
- * 02080000
- I59 L R14,XINIR14 RESTORE AND 02090000
- BR R14 RETURN. 02100000
- EJECT 02110000
- *---------------------------------------------------------------------* 02120000
- * PROCESS BYTES 3 THRU 7 OF CONTROL PARM TO DETERMINE LRECL * 02130000
- * OF FIXED LENGTH FILE TO STORE ON CMS DISK. * 02140000
- *---------------------------------------------------------------------* 02150000
- GETLRECL DS 0H 02160000
- MVI CRECFM+3,C'V' 02170000
- SR R4,R4 CLEAR PRODUCT. 02180000
- CLI 19(R1),C' ' IF IT'S BLANK THEN RECFM=V. 02190000
- BZR R14 SO WE'RE DONE HERE 02200000
- MVI CRECFM+3,C'F' OTHERWISE LENGTH GIVEN FOR RECFM=F. 02210000
- LR R5,R1 WE ARE GOING TO ALTER THIS REGISTER. 02220000
- LA R6,5 MAXIMUM NUMBER OF DIGITS TO PROCESS. 02230000
- * 02240000
- GL2 CLI 19(R5),C' ' SEE IF ANOTHER DIGIT TO PROCESS. 02250000
- BZ GL1 GUESS WE ARE DONE! 02260000
- TM 19(R5),X'F0' MAKE SURE CHARACTER IS A DIGIT. 02270000
- BC 14,PERR4 02280000
- MH R4,=H'10' SHIFT PRODUCT BY FACTOR OF 10. 02290000
- IC R3,19(R5) NOW GET THE DIGIT FROM PARAMETER. 02300000
- N R3,=X'0000000F' GET RID OF "ZONE". 02310000
- AR R4,R3 ADD IT TO PRODUCT. 02320000
- LA R5,1(,R5) NEXT DIGIT IN PARMS. 02330000
- BCT R6,GL2 GET ANOTHER ONE IF NOT AT END OF ARG 02340000
- * 02350000
- GL1 C R4,CLRECL MAX LRECL = 64K 02360000
- BC 10,PERR7 02370000
- ST R4,CLRECL SAVE THE CHOSEN LRECL. 02380000
- BR R14 RETURN. 02390000
- *---------------------------------------------------------------------* 02400000
- * MISCELLANEOUS PARAMETER PROCESSING & INITIALIZATION: * 02410000
- * 1) GET CMS FILENAME FILETYPE FILEMODE. * 02420000
- * 2) DO "Q DISK" TO GET BLOCKSIZE & CALC. FREE SPACE. * 02430000
- * 3) DO AN FSSTATE AND VARIOUS EDITS. * 02440000
- *---------------------------------------------------------------------* 02450000
- INIT3 DS 0H 02460000
- ST R14,XINIR14 SAVE OUR RETURN POINTER. 02470000
- CLC =X'FFFFFFFF',24(R1) CAN'T BE END OF PLIST YET! 02480000
- BZ PERR0 THE PURPOSE OF THIS CODE IS TO 02490000
- CLC =X'FFFFFFFF',32(R1) GET CMS FILENAME ETC. 02500000
- BZ PERR0 02510000
- CLC =X'FFFFFFFF',40(R1) 02520000
- BZ PERR0 02530000
- MVC XFSCB+8(18),24(R1) MOVE ARGS FOR CMS FILE. 02540000
- * 02550000
- BAL R14,QDISK GET BLKSIZE & BLKS LEFT. 02560000
- BAL R14,CMSINIT DO THE FSSTATE. 02570000
- L R14,XINIR14 RESTORE AND 02580000
- BR R14 RETURN. 02590000
- EJECT 02600000
- *---------------------------------------------------------------------* 02610000
- * THIS ROUTINE VERIFIES CHOSEN MINIDISK & CALCS FREE SPACE ON IT. * 02620000
- *---------------------------------------------------------------------* 02630000
- QDISK DS 0H 02640000
- ST R14,XQD14 SAVE RETURN ADDRESS. 02650000
- LA R5,40(,R1) DISK MODE LETTER PASSED HERE 02660000
- USING NUCON,0 02670000
- LA R10,IADT+ADTPTR-ADTSECT POINT TO POINTER TO FIRST. 02680000
- DROP 0 02690000
- USING ADTSECT,R10 02700000
- * 02710000
- ADTLOOP DS 0H THIS CODE THANKS TO K. FRIEDMAN 02720000
- L R10,ADTPTR FIND FIRST/NEXT ADT 02730000
- LTR R10,R10 IF NONE, 02740000
- BZ PERR5 THEN DISK IS NOT ACCESSED. 02750000
- CLC ADTM,0(R5) IS THIS THE DISK MODE REQUESTED? 02760000
- BE ADT10 YES -> OUR SEARCH IS OVER. 02770000
- B ADTLOOP NO -> LOOK SOME MORE 02780000
- ADT10 DS 0H 02790000
- L R6,ADTDBSIZ GET DISK BLOCK SIZE 02800000
- LTR R6,R6 IF ZERO, 02810000
- BZ PERR5 WE CAN'T DEAL WITH IT. 02820000
- L R15,ADTDTA LOOK IN DEVICE TABLE. 02830000
- CLC 0(2,R15),=H'0' IF NO VIRTUAL DEVICE, 02840000
- BZ PERR5 WE CAN'T DEAL WITH IT. 02850000
- ST R6,XBLKSIZE 02860000
- * 02870000
- L R5,ADTNUM GET NUMBER OF BLOCKS ON DISK 02880000
- S R5,ADTUSED SUBTRACT NUMBER IN USE 02890000
- SR R4,R4 CLEAR HIGH MULTIPLICAND. 02900000
- MR R4,R6 02910000
- ST R5,BYTELEFT NUMBER OF BYTES AVAILABLE 02920000
- * 02930000
- DROP R10 02940000
- L R14,XQD14 RESTORE AND 02950000
- BR R14 RETURN. 02960000
- XQD14 DS F 02970000
- EJECT 02980000
- *---------------------------------------------------------------------* 02990000
- * THIS CODE DEALS WITH THE CMS FILE IN QUESTION. * 03000000
- *---------------------------------------------------------------------* 03010000
- CMSINIT DS 0H 03020000
- ST R14,XCMS14 03030000
- FSSTATE FSCB=XFSCB,ERROR=CMS1,FORM=E 03040000
- CLI UPDOWN,C'D' IS THIS A DOWNLOAD? 03050000
- BZ CMS2 PROCEED TO CALCULATE FILESIZE. 03060000
- CLI REPLACE,C'N' FILE ALREADY EXISTS FOR UPLOAD... 03070000
- BZ PERR6 SO WE CAN'T CLOBBER IT. 03080000
- FSERASE FSCB=XFSCB OTHERWISE ERASE IT 03090000
- B CMS9 AND CONTINUE. 03100000
- * 03110000
- CMS1 CLI UPDOWN,C'D' IS THIS A DOWNLOAD? 03120000
- BZ FSSERR SOMETHING IS AMISS.. 03130000
- C R15,=F'28' FILE NOT FOUND OK ON UPLOAD. 03140000
- BZ CMS9 03150000
- B FSSERR OTHER ERROR NOT OK. 03160000
- * 03170000
- CMS2 L R6,32(R1) GET THE LRECL. 03180000
- L R5,48(R1) GET NUMBER OF RECORDS 03190000
- ST R5,XNOREC WE NEED HIM LATER. 03200000
- SR R4,R4 CLEAR MULTIPLICAND. 03210000
- MR R4,R6 MAX FILESIZE IN BYTES IS.. 03220000
- ST R5,NUMBYTES LRECL TIMES NUMBER OF RECORDS. 03230000
- L R6,XBLKSIZE NOW TRY THE OTHER WAY... 03240000
- L R5,44(R1) LOAD NUMBER OF BLOCKS. 03250000
- MR R4,R6 03260000
- CL R5,NUMBYTES SEE WHICH NUMBER IS LOWER.. 03270000
- BC 2,CMS9 IT GETS PASSED TO THE PC. 03280000
- ST R5,NUMBYTES 03290000
- * 03300000
- CMS9 L R14,XCMS14 RESTORE AND 03310000
- BR R14 RETURN. 03320000
- XCMS14 DS F 03330000
- EJECT 03340000
- *---------------------------------------------------------------------* 03350000
- * THIS ROUTINE CALLED VIA BALR R14,R15 MAKES THE FS CALLS FOR FT3270. * 03360000
- * ON ENTRY: R2 IS MACRO TO INVOKE (1 = READ, 2 = WRITE, 3 = CLOSE) * 03370000
- * R3 CONTAINS RECFM FOR FSWRITE (F OR V) * 03380000
- * R6 CONTAINS NUMBER OF BYTES FOR FSWRITE * 03390000
- * R10 CONTAINS THE BUFFER ADDRESS FOR THE READ/WRITE * 03400000
- * ON EXIT: R15 CONTAINS THE RETURN CODE FROM THE SVC 202 * 03410000
- * R0 NUMBER OF BYTES READ IN THE CASE OF FSREAD * 03420000
- * REGISTERS 4 THROUGH 14 ARE PRESERVED THROUGH THIS ROUTINE. * 03430000
- *---------------------------------------------------------------------* 03440000
- FTFS DS 0H 03450000
- USING FTFS,R15 03460000
- STM R4,R14,SAVEAREA SAVE SOME OF THE CALLER'S THINGS. 03470000
- DROP R15 03480000
- USING FTFS,R12 03490000
- LR R12,R15 USE THE NORMAL BASE REGISTER 03500000
- * 03510000
- BCT R2,FTFS1 IF R2 > 1 THEN SKIP FSREAD 03520000
- FSREAD FSCB=XFSCB,BUFFER=(R10),BSIZE=65536,FORM=E 03530000
- B FTFS9 SKIP OTHER CALLS 03540000
- * 03550000
- FTFS1 BCT R2,FTFS2 IF NEW R2 > 1 THEN SKIP FSWRITE 03560000
- FSWRITE FSCB=XFSCB,BUFFER=(R10),BSIZE=(R6),RECFM=(R3),FORM=E 03570000
- B FTFS9 SKIP FSCLOSE 03580000
- * 03590000
- FTFS2 FSCLOSE FSCB=XFSCB 03600000
- FTFS9 LM R4,R14,SAVEAREA GET OUR REGISTERS BACK 03610000
- BR R14 RETURNING INFO IN R15 & R0 03620000
- EJECT 03630000
- *---------------------------------------------------------------------* 03640000
- * SAVE AREA, VARIABLES, & FSCB * 03650000
- *---------------------------------------------------------------------* 03660000
- SAVEAREA DS 18F 03670000
- XBLKSIZE DS 1F BLOCKSIZE ON CMS MINIDISK IN QUESTION 03680000
- RETCODE DC F'0' SAVE THE RETURN CODE. 03690000
- REPLACE DS CL(1) INDICATES WHETHER TO REPLACE FILE. 03700000
- XFSCB FSCB ' ',FORM=E 03710000
- * 03720000
- LTORG 03730000
- EJECT 03740000
- *---------------------------------------------------------------------* 03750000
- * THESE VARIABLES ARE USED BY THE CALLER AS WELL * 03760000
- *---------------------------------------------------------------------* 03770000
- FTCOMMON DSECT 03780000
- * 03790000
- BYTELEFT DS 1F AVAILABLE SPACE ON SAME 03800000
- NUMBYTES DS 1F SIZE OF FILE TO BE DOWNLOADED 03810000
- XNOREC DS 1F NUMBER OF RECORDS TO DOWNLOAD 03820000
- CLRECL DS 1F LENGTH FOR FIXED LENGTH UPLOAD 03830000
- FSPECLEN DS 1F LENGTH OF NAME OF DOS FILESPEC 03840000
- CRECFM DS 1F RECFM FOR UPLOAD 03850000
- BINTEXT DS CL(1) INDICATES WHETHER TO PERFORM CONVERSION 03860000
- UPDOWN DS CL(1) WHETHER UPLOAD OR DOWNLOAD 03870000
- DS 0F 03880000
- NEGO DS CL(87) THE NEGOTIATION BUFFER 03890000
- PRINT NOGEN 03900000
- ADT 03910000
- NUCON 03920000
- REGEQU 03930000
- END 03940000
-